<?php
	if($_POST){
		if(isset($_POST['btnSalvarRespostaQuestionario']) || isset($_POST['btnSalvarEnviarRespostaQuestionario'])){
			if($atividadeRespondida = AtividadeVersao::getUltimaVersaoRespondida($idUsuario,$idCurso,$atividade->idAtividade,"objeto")){
				$versaoNova = $atividadeRespondida;
				$versaoNova->respostas = array();
			}else{
				$versaoNova = new AtividadeVersao();
				$versaoNova->idUsuario = $idUsuario;
				$versaoNova->idCurso = $idCurso;
				$versaoNova->idAtividade = constant("PARAMETRO_3");			
				$versaoNova->idGrupo = null;
				$versaoNova->nota = null;
				$versaoNova->corrigido = 0;
			}
					
			//vendo se estou salvando, ou salvando e enviando
			if(isset($_POST['btnSalvarEnviarRespostaQuestionario'])){
				$versaoNova->enviado = 1;
			}else{
				$versaoNova->enviado = 0;
			}
			
			$versaoNova->lancado = 0;
			
			foreach($_POST as $chave => $conteudo){
				if (preg_match('/strResposta[0-9]+/', $chave)){
					$resposta = array();
					$idPergunta = str_replace('strResposta', '', $chave);
					$resposta['idPergunta'] = $idPergunta;
					$resposta['resposta'] = $conteudo;
					$resposta['tipoQuestao'] = 'dissertativa';
					array_push($versaoNova->respostas, $resposta);			
				}
				if(preg_match('/checkAlternativa[0-9]+/', $chave)){
					$resposta = array();
					$idAlternativa = str_replace('checkAlternativa', '', $chave);
					$resposta['tipoQuestao'] = 'multiplaEscolha';
					$resposta['idAlternativa'] = $idAlternativa;
					$resposta['idPergunta']	= $conteudo;
					array_push($versaoNova->respostas, $resposta);
				}
				if(preg_match('/verdadeiroFalso[0-9]+/', $chave)){
					$resposta = array();
					$idPergunta = str_replace('verdadeiroFalso', '', $chave);
					$resposta['tipoQuestao'] = 'verdadeiroFalso';
					$resposta['idAlternativa'] = $conteudo;
					$resposta['idPergunta']	= $idPergunta;
					array_push($versaoNova->respostas, $resposta);
				}
			}
			
			if(isset($versaoNova->idVersao)){
				if($versaoNova->atualizarResposta()){
					adicionaMensagem(texto('MENSAGEM_SUCESSO_SALVAR_RESPOSTA'));
					redireciona(array('curso', $urlCurso, 'atividades'));
				}
			}else{
				if($versaoNova->inserir()){
					adicionaMensagem(texto('MENSAGEM_SUCESSO_SALVAR_RESPOSTA'));
					redireciona(array('curso', $urlCurso, 'atividades'));
				}
			}
			
		}
		
		//se o botão de editar perguntas(salvar) for apertado
		elseif(isset($_POST['btnEditarPergunta'])){
			extract($_POST);
			// inicializando a variavel com o id da pergunta a ser editada
			$perguntaEditada = new AtividadePergunta($idPerguntaEditada);
			$perguntaEditada->texto 		= 	$strDescricao;
			if($atividade->darNota){
				$perguntaEditada->valor		= 	$strValor;
			}else{
				$perguntaEditada->valor		=	'0';
			}
			
			$perguntaEditada->identificador =  $strIdPergunta;
			$perguntaEditada->gabarito = $gabarito == null ? null : $gabarito;
			
			$perguntaEditada->alternativas = array();
			//loop para instanciar as alternativas da pergunta a ser inserida			
			foreach($_POST as $indice => $valor){
				$alternativa = array();
				if (preg_match('/strAlternativa[0-9]/', $indice)){//comparo se tem algum post de strAlternativa
					if($_POST[$indice] != ''){
						$alternativa["alternativa"] = $_POST[$indice];
						$numero = str_replace('strAlternativa', '', $indice);//pego o indice da alternativa
						if(isset($_POST['chkAlternativa'.$numero])){//vejo se ele está com chkALternativa(resposta certa)
							$alternativa["correta"] = true;//se o if for satisfeito eu coloco no vetor alternativa o valor true
						}else{
							$alternativa["correta"] = 0;
						}
						array_push($perguntaEditada->alternativas,$alternativa);
					}
				}else if(preg_match('/strAlternativaRadio[0-9]/', $indice)){//comparo se tem algum post de strAlternativa
					if($_POST[$indice] != ''){
						$alternativa["alternativa"] = $_POST[$indice];
						$numero = str_replace('strAlternativaRadio', '', $indice);//pego o indice da alternativa
						if(isset($_POST['chkAlternativaRadio']) && $_POST['chkAlternativaRadio']== $numero){//vejo se ele está com chkALternativa(resposta certa)
							$alternativa["correta"] = true;//se o if for satisfeito eu coloco no vetor alternativa o valor true
						}else{
							$alternativa["correta"] = 0;
						}
						array_push($perguntaEditada->alternativas,$alternativa);
					}
				}
			}
			if(isset($_POST['verdadeiroFalso'])){
				if($_POST['verdadeiroFalso'] == "Falso"){
					$alternativa["alternativa"] = "Verdadeiro";
					$alternativa["correta"] = 0;
					array_push($perguntaEditada->alternativas,$alternativa);
					$alternativa["alternativa"] = $_POST['verdadeiroFalso'];
					$alternativa["correta"] = true;
					array_push($perguntaEditada->alternativas,$alternativa);
				}else{
					$alternativa["alternativa"] = $_POST['verdadeiroFalso'];
					$alternativa["correta"] = true;
					array_push($perguntaEditada->alternativas,$alternativa);
					$alternativa["alternativa"] = "Falso";
					$alternativa["correta"] = 0;
					array_push($perguntaEditada->alternativas,$alternativa);
				}
			}
			
			$perguntaEditada->editar();
		}
		
		//se o botão de inserir perguntas for apertado
		elseif(isset($_POST['btnInserirPergunta'])){
			extract($_POST);
			$pergunta = new AtividadePergunta(); // instanciando a classe pergunta
			
			//instanciado as variaveis da pergunta que eu vou inserir
			$pergunta->idAtividade  	= 	$atividade->idAtividade;
			$pergunta->tipo 			= 	$strTipo;
			$pergunta->texto 			= 	$strDescricao;
			if($atividade->darNota){
				$pergunta->valor		= 	$strValor;
			}else{
				$pergunta->valor		=	'0';
			}
			
			$pergunta->identificador =  $strIdPergunta;
			$pergunta->gabarito = $gabarito == null ? null : $gabarito;
			
			//loop para instanciar as alternativas da pergunta a ser inserida
			foreach($_POST as $indice => $valor){
				$alternativa = array();
				if (preg_match('/strAlternativa[0-9]/', $indice)){//comparo se tem algum post de strAlternativa
					if($_POST[$indice] != ''){
						$alternativa["alternativa"] = $_POST[$indice];
						$numero = str_replace('strAlternativa', '', $indice);//pego o indice da alternativa
						if(isset($_POST['chkAlternativa'.$numero])){//vejo se ele está com chkALternativa(resposta certa)
							$alternativa["correta"] = true;//se o if for satisfeito eu coloco no vetor alternativa o valor true
						}else{
							$alternativa["correta"] = 0;
						}
						array_push($pergunta->alternativas,$alternativa);
					}
				}else if(preg_match('/strAlternativaRadio[0-9]/', $indice)){//comparo se tem algum post de strAlternativa
					if($_POST[$indice] != ''){
						$alternativa["alternativa"] = $_POST[$indice];
						$numero = str_replace('strAlternativaRadio', '', $indice);//pego o indice da alternativa
						if(isset($_POST['chkAlternativaRadio']) && $_POST['chkAlternativaRadio']== $numero){//vejo se ele está com chkALternativa(resposta certa)
							$alternativa["correta"] = true;//se o if for satisfeito eu coloco no vetor alternativa o valor true
						}else{
							$alternativa["correta"] = 0;
						}
						array_push($pergunta->alternativas,$alternativa);
					}
				}
			}
			if(isset($_POST['verdadeiroFalso'])){
				if($_POST['verdadeiroFalso'] == "Falso"){
					$alternativa["alternativa"] = "Verdadeiro";
					$alternativa["correta"] = 0;
					array_push($pergunta->alternativas,$alternativa);
					$alternativa["alternativa"] = $_POST['verdadeiroFalso'];
					$alternativa["correta"] = true;
					array_push($pergunta->alternativas,$alternativa);
				}else{
					$alternativa["alternativa"] = $_POST['verdadeiroFalso'];
					$alternativa["correta"] = true;
					array_push($pergunta->alternativas,$alternativa);
					$alternativa["alternativa"] = "Falso";
					$alternativa["correta"] = 0;
					array_push($pergunta->alternativas,$alternativa);
				}
			}
		
			$pergunta->inserir();
		}
		elseif(isset($_POST['btnExcluirPergunta'])){
			$erro = FALSE;
			$arrayPergunta = array();
			foreach($_POST as $chave => $post) {
				if (preg_match('/^checkPerguntaInscricao[0-9]+$/', $chave)) {
					array_push($arrayPergunta, str_replace('checkPerguntaInscricao', '', $chave));
				}
			}
			foreach($arrayPergunta as $id) {
				$perguntaExcluida = new AtividadePergunta($id);
				if(!($perguntaExcluida->apagar())){
					$erro = TRUE;		
				}
			}
			if(!$erro){
				adicionaMensagem(texto('MENSAGEM_SUCESSO_APAGAR_ITEM'));
			}else
				adicionaMensagem(texto('MENSAGEM_ERRO_APAGAR_ITEM'), 'erro');			
		}
		
		foreach($_POST as $chave => $post) {
			if (preg_match('/^btnEditar[0-9]+$/', $chave)) {
				$idPergunta = str_replace('btnEditar', '', $chave);
				$perguntaEditada = new AtividadePergunta($idPergunta);
				$_SESSION['constructore']['atividades']['editarQuestionario']['idPerguntaEditada'] = $idPergunta;
				$_SESSION['constructore']['atividades']['editarQuestionario']['identificador'] = $perguntaEditada->identificador;
				$_SESSION['constructore']['atividades']['editarQuestionario']['texto'] = $perguntaEditada->texto;
				$_SESSION['constructore']['atividades']['editarQuestionario']['tipo'] = $perguntaEditada->tipo;
				$_SESSION['constructore']['atividades']['editarQuestionario']['valor'] = $perguntaEditada->valor;
				$_SESSION['constructore']['atividades']['editarQuestionario']['alternativas'] = $perguntaEditada->alternativas;
				$_SESSION['constructore']['atividades']['editarQuestionario']['gabarito'] = $perguntaEditada->gabarito;
			}	
		}
	}
	
	
	//ENTIDADE = PROFESSOR: EDITANDO ------------------------------------------------------------------------
	
	if($podeAlterar == 'todas' || ($podeAlterar == 'proprias' && $atividade->idUsuario == $idUsuario)) {
		//vc é professor ou tem previlégios, e quer editar
		
		$hrefVoltar = montalink(array('curso', $urlCurso, 'atividades'));
		$darNota = $atividade->darNota;
		$listaAtividades = AtividadePergunta::getTodasPerguntasAtividade($atividade->idAtividade);
		$inserir = true;
		
		$this->getSmarty()->assign('darNota', $darNota);
		$this->getSmarty()->assign('listaPerguntasAtividade', $listaAtividades);
		$this->getSmarty()->assign('inserir', $inserir);
		$this->getSmarty()->assign('hrefVoltar', $hrefVoltar);
		$this->exibir('atividades/inserir_passo2_b');
		
		if(isset($_SESSION['constructore']['atividades']['editarQuestionario'])){
			unset($_SESSION['constructore']['atividades']['editarQuestionario']);	
		}
	}
	
	//ENTIDADE = ALUNO COMUM: RESPONDENDO -------------------------------------------------------------------
	
	else {
		$atividadeAtual = obj2arr($atividade);
		
		foreach($atividadeAtual["listaPerguntas"] as $indice => $pergunta){
			$atividadeAtual["listaPerguntas"][$indice] = obj2arr($pergunta);	
		}
		
		//se o aluno já tiver salvo alguma resposta eu mostro
		$versaoRespondida = AtividadeVersao::getUltimaVersaoRespondida($idUsuario,$idCurso,$atividade->idAtividade);
		
		if($versaoRespondida['enviado'] == 1){
			$respostaEnviada = true;
		}else{
			$respostaEnviada = false;
		}
		
		if($versaoRespondida){
			$this->getSmarty()->assign('respostasAnteriores', $versaoRespondida['respostas']);
		}
		
		$this->getSmarty()->assign('atividadeAtual', $atividadeAtual);
		$this->getSmarty()->assign('respostaEnviada', $respostaEnviada);
		
		$this->exibir('atividades/responder_questionario');
		
	}
?>